package com.example.shortlink.service;

import com.example.shortlink.dao.entity.TGroup;
import com.example.shortlink.dto.req.ShortLinkGroupSortReqDTO;
import com.example.shortlink.dto.req.ShortLinkGroupUpdateReqDTO;
import com.example.shortlink.dto.resp.ShortLinkGroupRespDTO;
import com.mybatisflex.core.service.IService;

import java.util.List;

public interface GroupService extends IService<TGroup> {

    /**
     * 新增短链接分组
     */
    void saveGroup(String name);

    /**
     * 新增短链接分组
     *
     * @param username  用户名
     * @param groupName 短链接分组名
     */
    void saveGroup(String username, String groupName);

    /**
     * 查询短链接分组集合
     */
    List<ShortLinkGroupRespDTO> listGroup();

    /**
     * 修改短链接分组名称
     */
    void updateGroup(ShortLinkGroupUpdateReqDTO requestParam);

    /**
     * 删除短链接分组
     */
    void deleteGroup(String gid);

    /**
     * 排序短链接分组
     */
    void sortGroup(List<ShortLinkGroupSortReqDTO> requestParam);
}
